// 页面打开 onShow 获取url上的参数 type 根据type请求数据 渲染页面
// onShow 不同于 onLoad 无法在形参上接收options参数
// 判断缓存中是否有token 没有token 直接跳转授权页面 有，则继续
// 根据点击传递的type值来决定显示那个页面
// 点击不同的标题 重新发送请求来获取和渲染数据
import { myrequest } from "../../request/index"
Page({
  data: {
    tabs: [
      {
        id: 0,
        value: "全部",
        isActive: true
      },
      {
        id: 1,
        value: "代付款",
        isActive: false
      },
      {
        id: 2,
        value: "代发货",
        isActive: false
      },
      {
        id: 3,
        value: "退货/退款",
        isActive: false
      }
    ]
  },
  onShow(options) {
    const token = wx.getStorageSync("token")
    if (!token) {
      wx.navigateTo({
        url: '/pages/auth/index'
      })
    }

    // 获取当前的小程序的页面栈
    let pages =  getCurrentPages()
    // 数组中 索引最大的值 就是当前页面
    let currentPage = pages[pages.length - 1]
    // 获取url上的type参数
    const { type } = currentPage.options
    // 激活选中的页面标题
    this.changeTitleByIndex(type-1)
    this.getOrderList(type)
  },
  // 获取订单列表对的方法
  async getOrderList(type) {
    const res = await myrequest({
      url: '/my/orders/all',
      data: {
        type
      }
    })
    console.log(res)
  },
  // 根据标题索引来激活选中 标题数组
  changeTitleByIndex(index) {
    let { tabs } = this.data
    tabs.forEach(v => v.id === index ? v.isActive = true : v.isActive = false)
    this.setData({
      tabs
    })
  },

  handleItemTap(e) {
    const { index } = e.detail
    this.changeTitleByIndex(index)
    // 重新发送网络请求
    this.getOrderList(index+1)
  }
})